// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: "CharacterEscapeSequnce :: NonEscapeSequence"
es5id: 7.8.4_A4.2_T4
description: "NonEscapeSequence :: ENGLISH SMALL ALPHABET"
---*/

//CHECK#a-z without b, f, n, r, t, v, x, u

function Test() {
    if ("a" !== "\a") {
      throw new Test262Error('#a');
    }

    if ("c" !== "\c") {
      throw new Test262Error('#c');
    }

    if ("d" !== "\d") {
      throw new Test262Error('#d');
    }

    if ("e" !== "\e") {
      throw new Test262Error('#e');
    }

    if ("g" !== "\g") {
      throw new Test262Error('#g');
    }

    if ("h" !== "\h") {
      throw new Test262Error('#h');
    }

    if ("i" !== "\i") {
      throw new Test262Error('#i');
    }

    if ("j" !== "\j") {
      throw new Test262Error('#j');
    }

    if ("k" !== "\k") {
      throw new Test262Error('#k');
    }

    if ("l" !== "\l") {
      throw new Test262Error('#l');
    }

    if ("m" !== "\m") {
      throw new Test262Error('#m');
    }


    if ("o" !== "\o") {
      throw new Test262Error('#o');
    }

    if ("p" !== "\p") {
      throw new Test262Error('#p');
    }

    if ("q" !== "\q") {
      throw new Test262Error('#q');
    }

    if ("s" !== "\s") {
      throw new Test262Error('#s');
    }

    if ("w" !== "\w") {
      throw new Test262Error('#w');
    }

    if ("y" !== "\y") {
      throw new Test262Error('#y');
    }

    if ("z" !== "\z") {
      throw new Test262Error('#z');
    }
}

// preheat
const NUMBER_OF_PREHEAT = 1;
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}

ArkTools.jitCompileAsync(Test);
assert.sameValue(ArkTools.waitJitCompileFinish(Test), true, '[JIT] JIT disabled.');

// test
const NUMBER_OF_TEST = 1; // or 2
for (let i = 0; i < NUMBER_OF_PREHEAT; i++) {
    Test();
}
